package org.geekbang.dbexcel.Service.DbService;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.geekbang.dbexcel.domain.Column;
import org.geekbang.dbexcel.domain.Table;

import java.util.List;
import java.util.Map;

/**
 * @author 孙红瑞
 * @ClassName DbService.java
 * @Description TODO
 * @createTime 2021年02月03日 15:32:00
 */
public interface DbService {

    /**
     * 获取数据库所有表
     * @return
     */
    List<Table> listTable();

    /**
     * 根据表名获取表信息
     * @param tableName
     * @return
     */
    Table tableInfo(String tableName);

    /**
     * 根据表名获取字段信息
     * @param tableName
     * @return
     */
    List<Column> listTableColumn(String tableName);

    /**
     * 获取建表语句
     * @param tableName
     * @return
     */

    String createSql(String tableName);

    /**
     * 获取表注释，生成表注释Sql语句
     * @param tableName
     * @return
     */
    String alterTableComment(String tableName);

    /**
     * 获取表字段注释，生成表注释SQL语句
     * @param tableName
     * @return
     */
    String alterColumnComment(String tableName);
}
